//
//  UserSettingController.m
//  GIFShow
//
//  Created by lanou11air029 on 15/4/11.
//  Copyright (c) 2015年 CK. All rights reserved.
//

#import "UserSettingController.h"
#import "MySettingOptions.h"
#import "SwitchSettingCell.h"
#import <SDWebImage/SDImageCache.h>
#import <MBProgressHUD/MBProgressHUD.h>
#import "UMFeedback.h"
#import "SettingTableController.h"
#import "NormalSetCell.h"
#import "GifCollectionViewController.h"
#import "ContactUsViewController.h"
@interface UserSettingController ()
@property (strong, nonatomic) NSArray * array;
@property (strong, nonatomic) NSArray * imageNames;
@property (strong, nonatomic) NSMutableArray * heightArray;
@end

@implementation UserSettingController
-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    dispatch_async(dispatch_get_main_queue(), ^{
        self.automaticallyAdjustsScrollViewInsets = YES;
        self.tabBarController.tabBar.hidden = NO;
        NSIndexPath * indexPath = [NSIndexPath indexPathForRow:2 inSection:1];
        [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
    });
}
- (void)viewDidLoad {
    [super viewDidLoad];
//    self.navigationController.navigationBar.translucent = NO;
    self.tableView.allowsMultipleSelection = NO;
    NSString * file = [MySettingOptions defaultOptions].backColor;
    if(self.view.frame.size.width == 375){
        NSString * back = [NSString stringWithFormat:@"%@6",file];
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:back]];
    }else{
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:file]];
    }
    self.refreshControl = [[UIRefreshControl alloc]init];
    NSDictionary * attributes = [NSDictionary dictionaryWithObject:[UIColor lightGrayColor] forKey:NSForegroundColorAttributeName];
    NSAttributedString * atrStr = [[NSAttributedString alloc]initWithString:@"更新缓存容量^_^" attributes:attributes];
    
    self.refreshControl.attributedTitle = atrStr;
    [self.refreshControl addTarget:self action:@selector(endRefreshed:) forControlEvents:UIControlEventValueChanged];
    
    self.array = @[@"设置",@"段子收藏",@"Gif收藏",@"消息推送",@"下载管理",@"清除离线数据",@"意见反馈",@"用户协议",@"关于我们"];
    self.imageNames = @[@"settingicon",@"setshoucang",@"autoplay",@"xiaoxi",@"xiazai",@"qingchu",@"fankui",@"xieyi",@"guanyuwomen"];
    
    [self.tableView registerClass:[SwitchSettingCell class] forCellReuseIdentifier:@"switchCell"];
    [self.tableView registerClass:[NormalSetCell class] forCellReuseIdentifier:@"normalCell"];
    self.tableView.tableFooterView = [[UIView alloc]init];
    [self myTheme];
    [[NSNotificationCenter defaultCenter]addObserverForName:@"ChangeTheme" object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
        [self myTheme];
    }];
    //    self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
    // Uncomment the following line to preserve selection between presentations.
    // self.clearsSelectionOnViewWillAppear = NO;
    
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}


-(void)myTheme{
    NSString * file = [MySettingOptions defaultOptions].backColor;
    if(self.view.frame.size.width == 375){
        NSString * back = [NSString stringWithFormat:@"%@6",file];
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:back]];
    }else{
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:file]];
    }
}
-(void)endRefreshed:(UIRefreshControl *)refreshControl{
    [self.refreshControl endRefreshing];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Potentially incomplete method implementation.
    // Return the number of sections.
    return 3;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete method implementation.
    // Return the number of rows in the section.
    return 3;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    if (indexPath.row+indexPath.section*3 == 3) {
        SwitchSettingCell *cell = [tableView dequeueReusableCellWithIdentifier:@"switchCell" forIndexPath:indexPath];
        [self configCell:cell forIndexPath:indexPath];
        cell.backgroundColor = [UIColor colorWithWhite:1 alpha:0.9];
        cell.imageView.image = [UIImage imageNamed:self.imageNames[indexPath.section*3+indexPath.row]];
        return cell;
    }

    NormalSetCell * norcell = [tableView dequeueReusableCellWithIdentifier:@"normalCell" forIndexPath:indexPath];
    norcell.textTitleLabel.text = self.array[indexPath.row+indexPath.section*3];
    // Configure the cell...
    norcell.backgroundColor = [UIColor colorWithWhite:1 alpha:0.9];
    if (indexPath.row + indexPath.section*3 == 5) {
        norcell.title = @"清除离线数据";
        float filesize = [self cachesSize];
        norcell.rightDetailLabel.text = [NSString stringWithFormat:@"%.2fMB",filesize];
    }
    norcell.imageView.image = [UIImage imageNamed:self.imageNames[indexPath.section*3+indexPath.row]];
    return norcell;
}

-(void)configCell:(BaseSettingCell *)cell forIndexPath:(NSIndexPath *)indexPath{
    NSString * title = self.array[indexPath.row+indexPath.section*3];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.title = title;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height*0.03)];
    view.backgroundColor = [UIColor clearColor];
    return view;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    if (!self.heightArray) {
        self.heightArray = [[NSMutableArray alloc]init];
        for (int i = 0; i < 9; i++) {
            NSNumber * height = [NSNumber numberWithFloat:self.view.frame.size.height*0.085];
            [self.heightArray addObject:height];
        }
    }
    return [self.heightArray[indexPath.row + indexPath.section*3] floatValue];
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return self.view.frame.size.height* 0.03;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    if (indexPath.row + indexPath.section *3 == 0){
        [self settingOP];
    }
    UICollectionViewFlowLayout * flowLayout = [[UICollectionViewFlowLayout alloc]init];

    flowLayout.itemSize = CGSizeMake(self.view.frame.size.width*0.33 ,self.view.frame.size.height*0.1);
    flowLayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
    if ([UIScreen mainScreen].bounds.size.height<=480) {
        flowLayout.itemSize = CGSizeMake(self.view.frame.size.width*0.33, self.view.frame.size.height*0.17);
    }
    if (indexPath.section*3+indexPath.row == 1 || indexPath.row+indexPath.section*3 == 2) {
        GifCollectionViewController * gifCVC = [[GifCollectionViewController alloc]initWithCollectionViewLayout:flowLayout];
        gifCVC.isDownload = NO;
        gifCVC.hidesBottomBarWhenPushed = YES;
        UIBarButtonItem * leftBarButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back_nav"] style:UIBarButtonItemStylePlain target:gifCVC.navigationController action:@selector(popViewControllerAnimated:)];
        
        gifCVC.navigationItem.leftBarButtonItem = leftBarButton;
        gifCVC.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>) gifCVC;
        [self.navigationController pushViewController:gifCVC animated:YES];
    }
    if (indexPath.row + indexPath.section * 3 == 3) {
        return;
    }
    [self.heightArray replaceObjectAtIndex:indexPath.row+indexPath.section*3 withObject:[NSNumber numberWithFloat:self.view.frame.size.height*0.085+20]];
    [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(500 * USEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self tableView:tableView didDeselectRowAtIndexPath:indexPath];
    });
    if (indexPath.section*3+indexPath.row == 4) {
        GifCollectionViewController * gifCVC = [[GifCollectionViewController alloc]initWithCollectionViewLayout:flowLayout];
        gifCVC.hidesBottomBarWhenPushed = YES;
        gifCVC.isDownload = YES;
        UIBarButtonItem * leftBarButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back_nav"] style:UIBarButtonItemStylePlain target:gifCVC.navigationController action:@selector(popViewControllerAnimated:)];
        
        gifCVC.navigationItem.leftBarButtonItem = leftBarButton;
        gifCVC.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>) gifCVC;
        [self.navigationController pushViewController:gifCVC animated:YES];
    }
    if (indexPath.row + indexPath.section * 3 == 5) {
        UIAlertController * alertC = [UIAlertController alertControllerWithTitle:@"清除全部离线数据？" message:@"你将清除所有缓存内容，包括图片和Gif" preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction * confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
            [self clearCaches];
        }];
        UIAlertAction * cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
            
        }];
        [alertC addAction:confirm];
        [alertC addAction:cancel];
        [self presentViewController:alertC animated:YES completion:nil];
    }
    if (indexPath.row + indexPath.section * 3 == 6) {
        [self feedBack];
    }
    if (indexPath.row + indexPath.section * 3 == 7) {
        [self protocolContent];
    }
    if (indexPath.row + indexPath.section * 3 == 8) {
        [self contactus];
    }
//    [self tableView:tableView didDeselectRowAtIndexPath:indexPath];
}
-(void)settingOP{
    SettingTableController * settingTC = [[SettingTableController alloc]initWithStyle:UITableViewStyleGrouped];
    settingTC.hidesBottomBarWhenPushed = YES;
    UIBarButtonItem * leftBarButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back_nav"] style:UIBarButtonItemStylePlain target:settingTC.navigationController action:@selector(popViewControllerAnimated:)];
    
    settingTC.navigationItem.leftBarButtonItem = leftBarButton;
    settingTC.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>) settingTC;
//    settingTC.navigationController.navigationBar.tintColor = [UIColor redColor];
    [self.navigationController pushViewController:settingTC animated:YES];
}
-(float)cachesSize{
    //    NSInteger imageCacheCount = [[SDImageCache sharedImageCache]getDiskCount];
    
    float sdwebImageCacheSize = [[SDImageCache sharedImageCache]getSize]/1024.0/1024;
    
    return sdwebImageCacheSize;
}
-(void)clearCaches{
  float sum = [self cachesSize];
    NSLog(@"%f",sum);
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    [[SDImageCache sharedImageCache]cleanDiskWithCompletionBlock:^{
        NSLog(@"cleanDisk");
    }];
    [[SDImageCache sharedImageCache]clearDiskOnCompletion:^{
        NSLog(@"清除缓存");
        [MBProgressHUD hideHUDForView:self.view animated:YES];
    }];
    [self.tableView reloadData];
}
-(void)feedBack{
    self.automaticallyAdjustsScrollViewInsets = NO;
    [UMFeedback feedbackViewController].hidesBottomBarWhenPushed = YES;
    UIBarButtonItem * leftBarButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back_nav"] style:UIBarButtonItemStylePlain target:[UMFeedback feedbackViewController].navigationController action:@selector(popViewControllerAnimated:)];
    
    [UMFeedback feedbackViewController].navigationItem.leftBarButtonItem = leftBarButton;
    [UMFeedback feedbackViewController].navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>) [UMFeedback feedbackViewController];
    [self.navigationController pushViewController:[UMFeedback feedbackViewController] animated:YES];
}
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
    if (indexPath.row + indexPath.section * 3 == 3) {
        return;
    }
    [self.heightArray replaceObjectAtIndex:indexPath.row+indexPath.section*3 withObject:[NSNumber numberWithFloat:self.view.frame.size.height*0.085]];
    [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];

}
-(void)protocolContent{
    NSString * content =@"CK搞笑Gif秀服务协议\n一、服务条款的确认和接纳\nCK搞笑Gif秀及其涉及到的产品、相关软件的所有权和运作权归北京charles科技发展有限公司（以下简称charles科技公司）所有，Charils科技公司享有对CK搞笑Gif秀上一切活动的监督、提示、检查、纠正及处罚等权利。用户通过注册程序阅读本服务条款并点击\"同意\"按钮完成注册，即表示用户与charles科技公司已达成协议，自愿接受本服务条款的所有内容。如果用户不同意服务条款的条件，则不能获得使用gifshow.com服务以及注册成为CK搞笑Gif秀用户的权利。在此特别提醒用户认真阅读、充分理解本《CK搞笑Gif秀服务协议》（下称《协议》）。用户应认真阅读、充分理解本《协议》中各条款，包括免除或者限制charles科技公司责任的免责条款及对用户的权利限制条款。请您审慎阅读并选择接受或不接受本《协议》（未成年人应在法定监护人陪同下阅读）。除非您接受本《协议》所有条款，否则您无权下载、安装或使用本软件及其相关服务。您的下载、安装、使用、帐号获取和登录等行为将视为对本《协议》的接受，并同意接受本《协议》各项条款的约束。\n本《协议》可由charles科技公司随时更新，更新后的协议条款一旦公布即代替原来的协议条款，恕不再另行通知。用户可重新下载安装本软件或网站查阅最新版协议条款。在charles科技公司修改《协议》条款后，如果用户不接受修改后的条款，请立即停止使用charles科技公司提供的软件和服务，用户继续使用charles科技公司提供的软件和服务将被视为已接受了修改后的协议。\n除本《协议》有明确规定外，本《协议》并未对利用本“软件”使用的charles科技公司或合作单位的其他服务规定相关的服务条款。对于这些服务，一般有单独的服务条款加以规范，用户须在使用有关服务时另行了解与确认。单独的服务条款与本协议有冲突的地方，以单独的服务条款为准。如用户使用该服务，视为对相关服务条款的接受。\n二、服务保护条款\n1、Charils科技公司运用自己的操作系统通过国际互联网络为用户提供各项服务，用户必须：\n（1）提供设备，包括个人电脑一台、调制解调器一个及配备上网装置。\n（2）个人上网和支付与此服务有关的电话费用。\n2、考虑到charles科技公司产品服务的性质，用户同意：\n（1）提供及时、详尽及准确的个人资料。\n（2）不断更新注册资料，符合及时、详尽准确的要求。所有原始键入的资料将引用为注册资料。\n3、用户可授权charles科技公司向第三方透露其注册资料，否则charles科技公司不能公开用户的姓名、住址、出件地址、电子邮箱、帐号。除非：\n（1）事先获得用户明确授权后，用户要求charles科技公司或授权某人通过电子邮件服务或其他方式透露这些信息。\n（2）相应的法律、法规要求以及按照有关政府主管部门的要求，需要charles科技公司提供用户的个人资料。\n（3）为了维护公众以及CK搞笑Gif秀合法利益。\n（4）CK搞笑Gif秀可能会与第三方合作向用户提供相关的网络服务，在此情况下，如该第三方同意承担与CK搞笑Gif秀同等的保护用户隐私的责任，则CK搞笑Gif秀有权将用户的注册资料等提供给该第三方。\n（5）在不透露单个用户隐私资料的前提下，CK搞笑Gif秀有权对整个用户数据库进行分析并对用户数据库进行商业上的利用。\n三、用户使用规则\n特别提示用户，使用互联网必须遵守国家有关的政策和法律，包括刑法、国家安全法、保密法、计算机信息系统安全保护条例等，保护国家利益，保护国家安全，对于违法使用互联网络而引起的一切责任，由用户负全部责任。\n1、用户在申请使用CK搞笑Gif秀提供的网络服务时，必须向charles科技公司提供准确的个人资料，如个人资料有任何变动，必须及时更新。\n2、用户注册成功后，charles科技公司将给予每个用户一个用户帐号及相应的密码，该用户帐号和密码由用户负责保管；用户应当对以其用户帐号进行的所有活动和事件负法律责任。\n3、用户不得使用CK搞笑Gif秀服务发送或传播敏感信息和违反国家法律制度的信息，包括但不限于下列信息：\n(a) 反对宪法所确定的基本原则的；\n(b) 危害国家安全，泄露国家秘密，颠覆国家政权，破坏国家统一的；\n(c) 损害国家荣誉和利益的；\n(d) 煽动民族仇恨、民族歧视，破坏民族团结的；\n(e) 破坏国家宗教政策，宣扬邪教和封建迷信的；\n(f) 散布谣言，扰乱社会秩序，破坏社会稳定的；\n(g) 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的；\n(h) 侮辱或者诽谤他人，侵害他人合法权益的；\n(i) 含有法律、行政法规禁止的其他内容的。\n4、用户在使用CK搞笑Gif秀网络服务过程中，必须遵循以下原则：\n(a) 遵守中国有关的法律和法规；\n(b) 不得为任何非法目的而使用网络服务系统；\n(c) 遵守所有与网络服务有关的网络协议、规定和程序；\n(d) 不得利用CK搞笑Gif秀网络服务系统进行任何可能对互联网的正常运转造成不利影响的行为；\n(e) 不得利用CK搞笑Gif秀网络服务系统传输任何骚扰性的、中伤他人的、辱骂性的、恐吓性的、庸俗淫秽的或其他任何非法的信息资料；\n(f) 不得利用CK搞笑Gif秀网络服务系统进行任何不利于Charils科技 公司的行为。\n5、使用CK搞笑Gif秀网站服务，用户应加强个人资料的保护意识，并注意个人密码的密码保护。\n6、盗取他人用户帐号或利用网络通讯骚扰他人，均属于非法行为。用户不得采用测试、欺骗等任何非法手段，盗取其他用户的帐号和对他人进行骚扰。\n四、服务条款的修改\ncharles科技公司会在必要时修改服务条款，服务条款一旦发生变动，公司将会在用户进入下一步使用前的页面提示修改内容。如果您同意改动，则再一次激活\"我同意\"按钮。如果您不接受，则及时取消您的用户使用服务资格。\n用户要继续使用CK搞笑Gif秀各项服务需要两方面的确认：\n（1）首先确认CK搞笑Gif秀服务条款及其变动。\n（2）同意接受所有的服务条款限制。\n五、服务修订\ncharles科技公司特别提示用户，charles科技公司为了保障公司业务发展和调整的自主权，Charils科技 公司拥有随时修改或中断服务而不需通知用户的权利，charles科技公司行使修改或中断服务的权利不需对用户或任何第三方负责。用户必须在同意本条款的前提下，charles科技公司才开始对用户提供服务。\n六、用户隐私制度\n尊重用户个人隐私是charles科技公司的一项基本政策。所以，作为对以上第二点个人注册资料分析的补充，charles科技公司一定不会公开、编辑或透露用户的注册资料及保存在charles科技公司各项服务中的非公开内容，除非charles科技公司在诚信的基础上认为透露这些信息在以下几种情况是必要的：\n（1）遵守有关法律规定，包括在国家有关机关查询时，提供用户在CK搞笑Gif秀的网页上发布的信息内容及其发布时间、互联网地址或者域名以及其他用户上传至CK搞笑Gif秀的信息。\n（2）遵从CK搞笑Gif秀产品服务程序。\n（3）保持维护charles科技公司的商标所有权。\n（4）在紧急情况下维护用户个人和社会大众的隐私安全。\n（5）charles科技公司认为必要的其他情况下。\n用户在此授权charles科技公司可以向其电子邮箱发送商业信息。\n七、用户的帐号、密码和安全性\n用户一旦成功注册，将得到一个密码和帐号。如果用户未保管好自己的帐号和密码而对其自身、charles科技公司或第三方造成的损害，用户将负全部责任。另外，每个用户都要对其帐户中的所有活动和事件负全责。用户可随时改变自己的密码和图标，也可以结束旧的帐户重开一个新帐户。用户同意若发现任何非法使用用户帐号或安全漏洞的情况，立即通告charles科技公司。\n八、拒绝提供担保\n用户明确同意邮件服务的使用由用户个人承担风险。邮件服务提供是建立在免费的基础上。charles科技公司明确表示不提供任何类型的担保，不论是明确的或隐含的。\ncharles科技公司不担保服务一定能满足用户的要求，也不担保服务不会受中断，对服务的及时性、安全性、出错发生都不作担保。charles科技公司拒绝提供任何担保，包括信息能否准确、及时、顺利地传送。\n用户理解并接受下载或通过charles科技公司产品服务取得的任何信息资料取决于用户自己，并由其承担系统受损或资料丢失的所有风险和责任。charles科技公司对在服务网上得到的任何商品购物服务或交易进程，都不作担保。用户不会从charles科技公司收到口头或书面的意见或信息，charles科技公司也不会在这里作明确担保。\n九、有限责任\ncharles科技公司对直接、间接、偶然、特殊及继起的损害不负责任，这些损害来自：不正当使用产品服务，在网上购买商品或类似服务，在网上进行交易，非法使用服务或用户传送的信息有所变动。用户的上述行为引起对charles科技公司或第三方的损害，应当依法承担责任并向charles科技公司进行赔偿，charles科技公司可以自行或协助第三方使用用户提供的任何信息进行维权。\n十、未经charles科技公司同意禁止进行商业性行为\n用户承诺不经charles科技公司书面同意，不能利用charles科技公司各项服务在CK搞笑Gif秀或相关网站上进行销售或其他商业性行为。用户违反此约定，charles科技公司将依法追究其违约责任，由此给charles科技公司造成损失的，charles科技公司有权进行追偿。\n十一、CK搞笑Gif秀用户信息的储存及限制\ncharles科技公司不对用户所发布信息的删除或储存失败负责。charles科技公司保留判定用户的行为是否符合CK搞笑Gif秀服务条款的要求和精神的权利，如果用户违背了服务条款的规定，则中断或删除其虚拟社区服务的帐号。\n十二、保障\n用户同意保障和维护charles科技公司全体成员的利益，负责支付由用户违反本服务条款或为纠正用户的违反行为所引起的律师费用、诉讼费用、公正费用、鉴定费用、执行费用等，以及因违反服务条款的引起损害赔偿费用，其他人使用用户的电脑、帐号和其它知识产权的追索费。如用户的密码、帐户被盗用，除非该事件由于charles科技公司的过失导致，否则用户应承担被盗用期间产生的一切责任和后果。\n十三、结束服务\n用户或charles科技公司可随时根据实际情况中断服务。charles科技公司不需对任何个人或第三方负责而随时中断服务。用户若反对任何服务条款的建议或对后来的条款修改有异议，或对charles科技公司服务不满，用户享有以下的追索权：\n（1）不再使用charles科技公司及（或）CK搞笑Gif秀的服务。\n（2）结束用户使用charles科技公司及（或）CK搞笑Gif秀服务的资格。\n（3）书面通告charles科技公司停止该用户的服务。\n结束用户服务后，用户使用charles科技公司服务的权利马上中止。从那时起，charles科技公司不再对用户承担任何义务。\n十四、通告\n所有发给用户的通告都可通过电子邮件或常规的信件传送。charles科技公司会通过邮件服务发报消息给用户，告诉他们服务条款的修改、服务变更、或其它重要事情。同时，Charils科技公司保留对CK搞笑Gif秀用户投放商业性广告的权利。\n十五、参与广告策划\n在charles科技公司书面许可下用户可在他们发表的信息中加入宣传资料或参与广告策划，在CK搞笑Gif秀各项免费服务上展示他们的产品。任何这类促销方法，包括运输货物、付款、服务、商业条件、担保及与广告有关的描述都只是在相应的用户和广告销售商之间发生。Charils科技公司不承担任何责任，charles科技公司没有义务为这类广告销售负任何一部分的责任。\n十六、关于CK搞笑Gif秀增值服务业务及自助广告投放业务\n(1) 只有同意CK搞笑Gif秀制订的使用条件和条款的会员才能使用该项服务。\n(2) 支付确认是会员用选择的支付方法申请结算后, CK搞笑Gif秀进行的确认。 CK搞笑Gif秀在结算的时候把会员填写的内容全部看作是事实, 填写虚假内容的会员不受到法律保护。 另外对违反本项的会员可以终止其使用本CK搞笑Gif秀提供的服务、取消其会员资格, 并不允许重新加入会员。\n十七、知识产权\n用户保证和声明对其所提供的作品拥有完整的合法的著作权或完整的合法的授权可以用于其在CK搞笑Gif秀上从事的活动，保证charles科技公司使用该作品不违反国家的法律法规，也不侵犯第三方的合法权益或承担任何义务。用户应对其所提供作品因形式、内容及授权的不完善、不合法所造成的一切后果承担完全责任。\n用户同意charles科技公司对其创作并上传的作品在全世界范围内享有免费的、永久性的、不可撤消的、独家的和完全的许可和再许可权利，以使用、复制、出版、发行、以原有或其他形式进行改编、转载、翻译、传播、表演和展示此等内容（整体或部分）。此许可和再许可权利包括但不限于此作品的著作权、邻接权及获得利益等权利。用户同时承诺，不就上述作品以及上述作品的改编作品对任何第三方进行任何形式的许可使用。\n对于经用户本人创作并上传到CK搞笑Gif秀的文本、图片、图形、音频和/ 或视频等资料的商标和/或其它财产权利归属于charles科技公司，未经charles科技公司同意，用户保证不以任何形式直接或间接发布、播放、出于播放或发布目的而改编或再发行，或者用于其他任何商业目的。同时保证不许可任何第三方从事上述行为。\ncharles科技CK搞笑Gif秀公司保留对其网站所有内容进行实时监控的权利，并有权依其独立判断对任何违反本协议约定的作品实施删除。charles科技公司对于删除用户作品引起的任何后果或导致用户的任何损失不负任何责任。\n因用户作品的违法或侵害第三人的合法权益而导致charles科技公司或其关联公司对第三方承担任何性质的赔偿、补偿或罚款而遭受损失（直接的、间接的、偶然的、惩罚性的和继发的损失），用户对于charles科技公司或其关联公司蒙受的上述损失承担全面的赔偿责任。\n十八、言论\n用户承诺发表言论要：爱国、守法、自律、真实、文明。不传输任何非法的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、伤害性的、庸俗的，淫秽的、危害国家安全的、泄露国家机密的、破坏国家宗教政策和民族团结的以及其它违反法律法规及政策的内容。若用户的行为不符合以上提到的服务条款，Charils科技 公司将作出独立判断立即取消用户服务帐号。用户需对自己在网上的行为承担法律责任。\n十九、内容的所有权\n内容的定义包括：文字、软件、声音、相片、录象、图表；在广告中的全部内容；电子邮件的全部内容；CK搞笑Gif秀虚拟社区服务为用户提供的商业信息。所有这些内容均受版权、商标、标签和其它财产所有权法律的保护。所以，用户只能在charles科技公司和广告商授权下才能使用这些内容，而不能擅自复制、再造这些内容、或创造与内容有关的派生产品。\n二十、免责与赔偿声明\n1、若charles科技公司已经明示其网络服务提供方式发生变更并提醒用户应当注意事项，用户未按要求操作所产生的一切后果由用户自行承担。\n2、用户明确同意其使用charles科技公司网络服务所存在的风险将完全由其自己承担；因其使用charles科技公司服务而产生的一切后果也由其自己承担，charles科技公司对用户不承担任何责任。\n3、charles科技公司不担保网络服务一定能满足用户的要求，也不担保网络服务不会中断，对网络服务的及时性、安全性、准确性也都不作担保。\n4、用户同意保障和维护charles科技公司及其他用户的利益，由于用户登录网站内容违法、不真实、不正当、侵犯第三方合法权益，或用户违反本协议项下的任何条款而给charles科技公司或任何其他第三人造成损失，用户同意承担由此造成的损害赔偿责任。\n二十一、法律\n用户和charles科技公司一致同意有关本协议以及使用charles科技公司的服务产生的争议交由仲裁解决，但是charles科技公司有权选择采取诉讼方式，并有权选择受理该诉讼的有管辖权的法院。若有任何服务条款与法律相抵触，那这些条款将按尽可能接近的方法重新解析，而其它条款则保持对用户产生法律效力和影响。\n二十二、青少年用户特别提示\n1、青少年及使用CK搞笑Gif秀服务应该在父母和老师的指导下，正确学习使用网络。青少年避免沉迷虚拟的网络世界而影响日常的学习生活。\n2、青少年用户必须遵守全国青少年网络文明公约：\n要善于网上学习，不浏览不良信息；\n要诚实友好交流，不侮辱欺诈他人；\n要增强自护意识，不随意约会网友；\n要维护网络安全，不破坏网络秩序；\n要有益身心健康，不沉溺虚拟时空。\n二十三、帐号的冻结\nCK搞笑Gif秀帐号的失效期为3个自然月。如果一个CK搞笑Gif秀帐号连续3个月不曾使用，即没有以Web方式登录CK搞笑Gif秀，届时其原有信息将全部丢失。用户已经获悉，为了保证登录的顺利及有效，3个月内至少要使用一次CK搞笑Gif秀。\n二十四、其他\n1、Charils科技公司将视向用户所提供服务内容之特性，要求用户在注册charles科技公司提供的有关服务时，遵守特定的条件和条款；如该特定条件和条款与以上服务条款有任何不一致之处，则已特定条件和条款为准。\n2、本服务条款中的任何条款无论因何种原因完全或部分无效或不具有执行力，其余条款仍应有效并且有约束力。\n3、本服务条款执行过程中所产生的任何问题本网站和用户都将友好协商解决。\n4、以上条款的解释权归charles科技公司最终所有。";
    UIViewController * protocolVC = [[UIViewController alloc]init];
    protocolVC.view.backgroundColor = [UIColor colorWithWhite:0.9 alpha:1];
//    UINavigationController * protocolNC = [[UINavigationController alloc]initWithRootViewController:protocolVC];
    UITextView * contentView = [[UITextView alloc]initWithFrame:CGRectMake(4, 110, self.view.frame.size.width - 8, self.view.frame.size.height - 75)];
    contentView.editable = NO;
    contentView.text = content;
    contentView.font = [UIFont systemFontOfSize:16];
    UILabel * titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(5, 10, self.view.frame.size.width -  10, 30)];
    titleLabel.text = @"《CK搞笑Gif秀》用户协议";
    [titleLabel sizeToFit];
    UIImageView * imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"insideIcon"]];
    imageView.frame = CGRectMake(titleLabel.frame.size.width-10,40, 65, 65);
    imageView.layer.cornerRadius = 5;
    imageView.clipsToBounds = YES;
    [protocolVC.view addSubview:titleLabel];
    [protocolVC.view addSubview:imageView];
    [protocolVC.view addSubview:contentView];
    protocolVC.hidesBottomBarWhenPushed = YES;
    UIBarButtonItem * leftBarButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back_nav"] style:UIBarButtonItemStylePlain target:protocolVC.navigationController action:@selector(popViewControllerAnimated:)];
    
    protocolVC.navigationItem.leftBarButtonItem = leftBarButton;
    protocolVC.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>) protocolVC;
    [self.navigationController pushViewController:protocolVC animated:YES];
    
}

-(void)contactus{
    
    ContactUsViewController * contact = [[ContactUsViewController alloc]initWithNibName:@"ContactUsViewController" bundle:nil];
    contact.hidesBottomBarWhenPushed = YES;
    UIBarButtonItem * leftBarButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back_nav"] style:UIBarButtonItemStylePlain target:contact.navigationController action:@selector(popViewControllerAnimated:)];
    
    contact.navigationItem.leftBarButtonItem = leftBarButton;
    contact.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>) contact;
    [self.navigationController pushViewController:contact animated:YES];
    
}

/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the specified item to be editable.
    return YES;
}
*/

/*
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Delete the row from the data source
        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
    } else if (editingStyle == UITableViewCellEditingStyleInsert) {
        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
    }   
}
*/

/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
}
*/

/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the item to be re-orderable.
    return YES;
}
*/

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
